package cn.lutu.domain.service;



import cn.lutu.protocol.dto.CategoryAddNewParam;
import cn.lutu.protocol.entity.Category;
import cn.lutu.protocol.vo.CategoryListVO;
import cn.lutu.protocol.vo.CategoryStandardVO;
import cn.lutu.protocol.vo.CategoryTreeVO;
import cn.lutu.util.pojo.vo.PageData;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Transactional
public interface CategoryService {

    /*新增类别业务*/
    void addNew(CategoryAddNewParam categoryAddNewParam);
    /*根据ID删除类比*/
    void deleteById(Long id);
    /*更新类别数据*/
    void updateById(CategoryAddNewParam categoryAddNewParam);
    /*查询类别列表*/
    PageData<CategoryListVO> getCategories(Integer pageNum, Integer pageSize);
    PageData<CategoryListVO> getCategories(Integer pageNum);
    /*根据ID查询标准类别*/
    CategoryStandardVO selectStandardVOById(Long id);
    /*根据ID查询类别详情*/
    Category selectById(Long id);
    /*查询类别树*/
    List<CategoryTreeVO> getCategoryTree(Long id);
    /*根据父级ID查询类别列表*/
    List<CategoryListVO> getCategoryListByParentId(Long parentId);
}
